#pragma once
#include "MemoryPool.h"

namespace
{
	const int vectorChunkSize = 1000;
}

class Vector
	{
	
	public:
		Vector();
		Vector(const double _x, const double _y, const double _z);
		~Vector();

		bool equals(const Vector& another);

		void set(const double _x, const double _y, const double _z);
		double getX() const;
		double getY() const;
		double getZ() const;

	private:

		static MemoryPool<Vector, vectorChunkSize> vectorPool;

		double  x, y, z;

		static void* operator new(size_t);
		static void operator delete(void* pointer);
	};
